package es.udc.fbellas.j2ee.tiendaweb.model.usuariofacade.plain.actions;

import java.sql.Connection;

import es.udc.fbellas.j2ee.util.exceptions.InternalErrorException;
import es.udc.fbellas.j2ee.util.exceptions.InstanceNotFoundException;
import es.udc.fbellas.j2ee.util.sql.NonTransactionalPlainAction;
import es.udc.fbellas.j2ee.tiendaweb.model.usuario.DAO.SQLUsuarioProfileDAO;
import es.udc.fbellas.j2ee.tiendaweb.model.usuario.TO.UsuarioProfileTO;
import es.udc.fbellas.j2ee.tiendaweb.model.usuario.DAO.SQLUsuarioProfileDAOFactory;
import es.udc.fbellas.j2ee.tiendaweb.model.tarjetabancaria.DAO.SQLTarjetaBancariaDAO;
import es.udc.fbellas.j2ee.tiendaweb.model.tarjetabancaria.DAO.SQLTarjetaBancariaDAOFactory;

public class BuscarTarjetaUsuarioAction implements NonTransactionalPlainAction {

    private String loginName;
	private long numTarjeta;
    
    public BuscarTarjetaUsuarioAction(String loginName) {
        this.loginName = loginName;
    }
    
    /**
     *
     * @return the <code>UserProfileVO</code>
     */
    public Object execute(Connection connection) 
        throws InstanceNotFoundException, InternalErrorException {
                
        SQLUsuarioProfileDAO usuarioProfileDAO = SQLUsuarioProfileDAOFactory.getDAO();

		UsuarioProfileTO usuarioProfileTO = usuarioProfileDAO.find(connection, loginName);

		numTarjeta = usuarioProfileTO.getNumTarjeta();

		SQLTarjetaBancariaDAO tarjetaBancariaDAO = SQLTarjetaBancariaDAOFactory.getDAO();

		return tarjetaBancariaDAO.find(connection, numTarjeta);
            
    }
    
    /* 
     * This class is tested by
     * "es.udc.fbellas.j2ee.miniportal.model.userfacade.delegate.
     * UserFacadeDelegateFactory".
     */    

}
